package com.cmict.data.infra.api.message.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
* 流程消息 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class TaskMessageDTO {

    @ApiModelProperty(value = "消息类型:抄送消息提醒，催办消息，超时未处理消息", required = true)
    @NotNull(message = "消息类型:抄送消息，催办消息，超时未处理消息不能为空")
    private Long templateId;

    @ApiModelProperty(value = "消息类型:抄送消息提醒，催办消息，超时未处理消息", required = true)
    @NotNull(message = "消息类型:抄送消息，催办消息，超时未处理消息不能为空")
    private String type;

    @ApiModelProperty(value = "流程实例ID", required = true)
    @NotNull(message = "流程实例ID不能为空")
    private String processInstanceId;

    @ApiModelProperty(value = "流程任务Id", required = true)
    @NotNull(message = "流程任务Id不能为空")
    private String taskId;

    @ApiModelProperty(value = "流程任务名称")
    private String taskName;

    @ApiModelProperty(value = "规则类型", required = true)
    @NotNull(message = "规则类型不能为空")
    private Integer ruleType;

    @ApiModelProperty(value = "规则值，JSON 数组", required = true)
    @NotNull(message = "规则值，JSON 数组不能为空")
    private String options;

}
